package enum1.test;

import java.util.HashMap;
import java.util.Map;

public enum EnumTest1 {
    name(1),
    age(2);

    private static final Map<Integer, EnumTest1> map = new HashMap<>();

    static {
        for (EnumTest1 et : EnumTest1.values()) {
            map.put(et.code, et);
        }
    }

    public final int code;

    EnumTest1(int i) {//每个元素都对应一个该方法，因code为final，则必须在此实例化（也可以不是final类型）
        code = i;//若不是final、不实例化code，code默认为0，则所有的元素code都为0，而map只存最后一个code为0的元素（age）
    }

    public static EnumTest1 fromCode(int code) {
        return map.get(code);
    }
}
